package com.qf.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class UserController {

    @RequestMapping("/test")
    public String test(){
        System.out.println("hello springmvc");

        //返回的是一个视图名称
        return "web";
    }

    @RequestMapping("/test2")
    public String test2(){
        System.out.println("hello springmvc222222");

        //返回的是一个视图名称
        return "web2";
    }

    @RequestMapping("/test3")
    public String test3(){
        System.out.println("redirect...");

        //利用重定向前缀指定这个资源是重定向跳转而不是转发
        //一旦指定前缀后，之前配置的视图解析器的前后缀就不会再自动拼接(重定向是不能访问WEB-INF下资源的)
        return "redirect:/html/test.html";
    }
    @RequestMapping("/test4")
    public String test4(){
        System.out.println("forward...");

        //通过forward前缀指定的路径，不归之前我们配置的视图解析器管理，所以也不会拼接视图前后缀
        return "forward:/html/test.html";
    }

    /**
     * 对于get请求，参数是通过请求行携带的，如果是tomcat8及以上的版本，get请求是没有中文乱码的。因为请求行数据的编码码表就是utf-8
     *      但是对于8以下的版本， 默认的码表是iso-8859-1，这个码表是不识别中文的。要想解决中文乱码问题，需要修改请求行的码表为utf-8
     *
     * 对于post请求，参数是通过请求体携带的，tomcat默认请求体的编码字符集都是iso-8859-1.我们只需要配置springmvc提供的过滤器即可
     */
    @RequestMapping("/test5")
    public String test5(String name){
        System.out.println("请求参数乱码解决...");

        System.out.println("请求参数name：" + name);

        //通过forward前缀指定的路径，不归之前我们配置的视图解析器管理，所以也不会拼接视图前后缀
        return "forward:/html/test.html";
    }


}
